みなさんへの告知板


オンラインゲームからは離れました。これからはリアルょぅι゛ょで頑張ろうと思います


ミジンコゼミナール


ネットゲーム解析初心者向け講座、ミジンコゼミナール 開講!

多重起動、窓化の基礎をしらんやつは見ておけ。
読んでも理解できないやつは解析以前の問題だから文句いうな('A`)

ミジンコゼミナール:ネットゲーム解析講座一覧
1日目:入学/必要な教材 2日目:基本的なアセンブリ言語
3日目:Ollydbg の操作方法と演習 4日目:多重起動1(FindWindow)
5日目:多重起動2(CreateMutex) 6日目:多重起動3(EnumWindows、その他の方法)
7日目:ウィンドウについて
8日目:窓化(D8) 9日目:窓化(D9)
10日目:DLL について 11日目:何か作ってみよう
12日目:試験 13日目:プレゼント

2007年03月12日


久しぶりの LostOnline

昨日は久しぶりにLostOnlineをやったんだけどルミネ前は相変わらずユーザー多いね。

ロストの升スレ覗いてみたらメイドロボを作る話で少し盛り上がってたんだが

おいおい、キミたち・・・その話題は正解だ('A`)b

おいらの希望としてはスタイルはどうでもいいが極端なツンか

デレな友人しかいないので完全なツンデレ機能搭載のメイドロボを

作ってほしいな〜(←本物のツンデレ見たこと無い人

とか思ってはいたんだがメイドロボとメモリ検索話の流れとめてスマンカッタorz

誰かスレ進めてください(つwT)


さて、知り合いやら某氏も某会社辞めたらしくうるさくなくなったので…。

ざっとさわりだけ解説。

まずあのアドはX罠外しから多重対策までを含めたアドレスです。

とりあえず多重やら何やらはいいとしてX罠のほう。単純につぶせばX罠は

起動しないけどしばらくすると蔵が落ちます。

が、その呼び出しを上手く扱えば大丈夫。

まぁX外しについては昔から変わらずな対応方法だね。

本当はもっとおくのアドレスで説明した方が分かりやすいけど外すだけなら

あのアドを弄ってちょっと考えて見てください。

X自体を解析できてる人なら理由がわかると思うけど分からない人向けのヒントを。

ヒント:
プログラムはメモリ上に読み込まれ、実行されて初めて力を発揮する。
だがそれを止めてしまう == 力を発揮しない。本来の力を取り戻させるには?


う〜ん…。ヒント言いすぎだったかも('A`)
余計な事いうな!という人いたらコメにツッコミよろしく。
記事半分くらい消しとくので。

追記:
すぐ下に比較&ジャンプがあるの忘れてた。
まぁそれはそのままなので適当に…。


この記事へのコメント

最近、2ちゃんでもチートの話が話題でしたが、チート無理、コード無いって良く聞きますが・・・
LostOnlineの検索値とか改造コードってあるんですか?
Posted by むにゅむにゅ at 2007年03月15日 08:40
>むにゅむにゅ氏

今年の蔵は全然見てないので去年いじった感想として↓

キャラクタに何らかのアクションをさせる処理自体を書き換えることで
多少のことはできてました。(アイテム回数やら無敵やらです)

そうそう、もし身近の方とかに

-INET "Account" "crypt" -updater (だったけ?うろ覚え…。)

の意味を知ってる人がいたら最近の詳しい事情をご存知かも
しれないですね〜
Posted by sp at 2007年03月15日 11:46
身近に-INET "Account" "crypt" -updater の意味を知っている人は居ません><
今年に入って、大型のUPDがあったので、いろいろと変わったのかも知れませんが、現在ライフルでの連射が出来てるみたいなので、チートも可能なのかも知れません。。

未熟なため解析が出来ないのです><

他ゲーでは、検索値なるものを教えて貰って改造コードを探して、ひっそり楽しんでますw

ロストでも検索値が出回れば・・・
解析の勉強をせねば><(難しい・・・)
Posted by むにゅむにゅ at 2007年03月15日 17:45


アプデトあったんですか〜、公式見てないので全然知らなかったです^^;

>現在ライフルでの連射が出来てるみたいなので

ライフル連射とかのディレイはほとんどのゲームで無効にできると思います。
(無効に出来ないやつ見たこと無いかも?)
コードとかそこらへんに転がってればあれですけど無い場合は自分で頑張るしかないですねぇ…。

>身近に-INET "Account" "crypt" -updater の

Lostは公式のウェブからログインしないと蔵起動ができないけど、ログインした時の
アカウントとパスワードを引数として蔵に渡すことで蔵を起動してます。
で、-INET なんたらと言ってたのは蔵に渡す引数です。

つまりウェブからの起動じゃなくて直に鯖選択できる蔵を起動させたい人は(早い話が解析やってる人です)
-INET なんたらの値をじかに蔵に渡して起動してると思うのでご存知かなー?と
とりあえず前に .bat ファイルで保存しといたのを見てみたら正しくはこの形式でした↓

lostonline.exe INET 2154 アカウント名 パスワード(暗号化) IP 124.211.52.209:15000 -updater

解析の場合ほとんどが慣れなので何とも言えないですが・・・がんばってください(つwT)
Posted by sp at 2007年03月16日 00:15
なんとか頑張りたいと思います。

って、早くも行き詰ってます><

解析の基礎/演習2の
・・・・・・・次は 00401060 に飛ぶようだ。
00401058 > 3C 02 CMP AL,2
0040105D . 74 01 JE SHORT base_tes.00401060

の004015Dは、0040105Aの事ですか?

ついでにその下の
00401060 > 68 00104000 PUSH base_tes.<モジュールエントリーポイント>
00401065 . C3 RETN ; RET used as a jump to <モジュールエントリーポイント>

の00401060と00401065って、0040105Cと5Dの事ですか?
ミジンコ過ぎて、さっぱりわかりません><
Posted by むにゅむにゅ at 2007年03月16日 17:50
多分XPでやってると思いますがその認識でおkです。
その先の説明でもアドレスが一致しない状態だったら左側のアドレスの
隣にあるマシンコードが説明文のものと一致してるか?を目安にしてみて下さい。

この↓部分が一致してればただアドレスが違うだけで実際は同じ命令を行ってます。

3C 02
74 01
 .
 .
68 0010400
C3
Posted by sp at 2007年03月16日 18:45
spさん、初めまして。
つい最近からゲームの解析を始めたド素人です。

今、LostOnlineのX罠外しを目標にしており、まずはプログラムの全体の流れを把握しよう、
と考えているのですが、ご存知の通り、蔵をそのままollyに読み込んでも起動することが
出来ません。

ただ、偶然にもspさんのコメント(スペシャルフォースの方ですが)にollyから起動するには、
『解析』→『引数』にて起動出来る、というヒントを得ることが出来ました。

そこでいくつか質問なのですが・・・

@以前のコメントに、蔵に渡す引数は起動プログラムを調べれば解る、とあったのでUpdater.exeを調べたのですが、yoda's cryptor 1.x / modifiedなるもの(パックされているという事でしょうか?)でスムーズに解析出来ず、また、デバッガ検知されているようにも思えます。(←あくまでド素人の考えです^^;)
仮にそうだとしたら、手順としては
アンパック→デバッガ検知回避→解析にて引数取得(暗号化も解析??)
という流れになるのでしょうか?

Aまた、運よく引数が取得出来た場合、ollyから起動するには『引数』の入力欄には上記にあるように、
lostonline.exe INET 2154 アカウント名 パスワード(暗号化) IP 124.211.52.209:15000 -updater
の書き方でいいのでしょうか?


X罠外しだけなら、spさんのコメントをよく読めば出来るのかも知れませんが、それではスキルが身に付かないと思い、長々と書かせていただきました。
ご多忙かと思います、お返事は時間がある時で結構です。よろしくお願いします。


Posted by 板金屋 at 2007年03月19日 02:49

>板金屋氏

yoda's cryptor でパックされてたかまでは覚えてないですが…(汗

@についてはその流れになります。
yoda にもデバッガ検出がついているのでそれを回避しつつアンパックです。
で、恐らくアンパックした後にはASProtectなるもので Updater がパッキングされているかも
しれないのでそれもアンパックして(こっちもデバッガ検出あり)やっと生の Updater.exeが仕上がります。
ただ yoda をアンパックした後に ASProtect を manual unpack するのは結構大変なので
tool(stripper)を拾ってくるのもありだと思います。

>引数取得(暗号化も解析??)
Updater.exe が lostonline.exe を呼び出す時にはユーザーのパスワードは既に暗号化されているので
引き数の値をそのまま拾ってくれば大丈夫だと思います。

次にAですが、ollyから蔵を直に立ち上げる場合は INET 〜 -updater までを「引き数」のとこに入れて
olly で再読み込み(Ctrl+F2)させればおkです。

で、lostonline.exe 〜 -updater までは lostonline.exe だけを立ち上げたい時に「***.bat」という
バッチファイルを作りその中に保存させる内容です。
他のゲームでもそうですが、改造蔵だけ立ち上げてプレイする時には同じように .bat ファイルを作って起動させます。


今回の流れだとアンパックが一番の強敵になると思いますが、はっきりいって強敵です('A`)
どうしてもな時はProcMonで引き数を確認し、蔵をいじくる方法でいいと思いますので〜。
Posted by sp at 2007年03月19日 11:20
さっそくのお返事ありがとうございました。

どうも私の手には負えないもののようですね^^;
素直にツール等で対応したいと思います。

丁寧な解説、本当にありがとうございました。
じっくり、勉強して腕を上げたいと思います。
Posted by 板金屋 at 2007年03月19日 16:44
spさんはじめまして。

板金屋さんとおなじく解析始めたばかりのド素人でございます・・・。
ミジンコ講座の多重起動のところで、とまっております。

私も目標はLOSTのX罠はずしなんですが

>>引数取得(暗号化も解析??)
>Updater.exe が lostonline.exe を呼び出す時にはユーザーのパスワードは既に暗号化されているので
引き数の値をそのまま拾ってくれば大丈夫だと思います。

ここが既に疑問なのですが暗号化された引数を拾うにはどうすればいいのでしょう?
試しに単純に
INET 2154 アカウント名 パスワード(暗号化) IP 124.211.52.209:15000 -updater
のPASSのとこに暗号化されてないものを突っ込んでのですが、当然公式のHPに飛びました。

他サイトでも調べてみたのですが暗号化されたものを拾ってくるのではなく
暗号キーをサーチするといったやり方もあるようなのですが…。

暗号キーをサーチか暗号化済みのものを拾ってくる。
この2パターンがあるようなのですがどちらのほうが理解しやすいでしょうか?

で、手順としては蔵直起動ができるようになってそこから
X罠回避のサーチになるんですかね…?

自分でも情けないぐらいのパニックブリです…。

アメーバぶりを遺憾なく発揮しておりますが
少しばかりのご教授をいただければな、と思っております。
Posted by soko at 2007年04月22日 03:27
>soko氏

lostの動作はすっかり忘れているので一般的な論として〜 ↓

簡単(?)な方法としては別プロセスを呼び出すAPIでCreateProcessなどがあるので
それの引数をチェックすれば大概のゲームは直起動の方法がわかります。
もし暗号化されていればその値が引数に入ると思います。(呼び出し側での処理なら)
次に暗号キーを、ですが蔵内部にDESのような感じで蔵内部に保存されているとしたら
APIに渡される引数が入るところを逆順に追っていけば処理部が見付かると思います。
果てしなく長い道のりの時もあるけど…。
まぁ、暗号/複合キー自体を探すのはツール作る人向けかな〜、というのが率直な意見です。

>X罠回避のサーチになるんですかね…?
最近のは少し仕様が変わったらしいのではっきりとは言えないですが、直起動の状態で
蔵いじり&X罠内部の処理を見てくのがいいかと思います。
Posted by sp at 2007年04月23日 11:54
お返事ありがとうございます。

引数チェックをがんばっているところです。
CreateProcessの引数チェックををネット上で色々調べてるんですが
CやらVBの資料ばっかりで困ってますけど(@◇@;)

暗号キーは私にはムリ(意味ナシ)そうなのでパス!します。

X罠回避はX罠に繋がるところを潰せば良さそうなかんじですね?
たぶんCALL〜を潰せばいいような気がしてます。
で、潰したあとは直起動後バイナリ戻しでOK・・・なんだよ。
きっと、そうです・・・。
えぇ、そうですよ・・・。
Posted by soko at 2007年04月23日 18:46
X罠回避はX罠に繋がるところを潰してできたのですが
ディレイ無効を探そうと模索しているのですが・・・
一般的なゲームの話でよいのですが、いったいどこから手をつけたらよいか
さっぱりわからないのでどんな感じで手をつけてよいかコメントをお願いします
Posted by sa at 2007年04月25日 20:54
saさんできたんですね〜。

私は未だに出来てマセン・・・(ノд・。)
ウラヤマシス・・・。
Posted by soko at 2007年04月26日 01:35
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。